package com.zmn.oms.model.dto.order.zmn;

import com.zmn.oms.common.dto.OmsStatusOperator;
import com.zmn.oms.model.dto.factory.OrderFactoryDTO;
import com.zmn.oms.model.dto.product.OrderProductDTO;
import lombok.Data;
import lombok.ToString;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.Date;
import java.util.List;

/**
 * 类描述: 服务商厂商单修改
 *
 * @author yule
 * @date 2019/5/20 20:34
 */
@Data
@ToString(callSuper = true)
public class UpdateSimpleOrderDTO extends OmsStatusOperator {

    /**
     * 城市id
     */
    @NotNull(message = "城市不能为空")
    private Integer cityId;

    /**
     * 区域ID
     */
    private Integer countyId;

    /**
     * 订单类型：1 新单、2 返修单
     */
    @NotNull(message = "订单类型不能为空")
    private Integer type;

    /**
     * 预约时间
     */
    private Date dutyTime;

    /**
     * 预约状态(1 预约失败 2 预约成功)
     */
    private Integer dutyStatus;

    /**
     * 预约失败code
     */
    private Integer dutyFailCode;

    /**
     * 下次联系时间
     */
    private Date nextContactTime;

    /**
     * 客户名称
     */
    private String userName;

    /**
     * 性别：1 男; 2 女; 3 保密
     */
    private Integer gender;

    /**
     * 街道
     */
    @NotEmpty(message = "用户地址不能为空")
    private String street;

    /**
     * 客户地址具体门牌号
     */
    private String address;

    /**
     * 客户电话1
     */
    @NotEmpty(message = "用户电话不能为空")
    private String telephone;

    /**
     * 客户电话2
     */
    private String telephone2;

    /**
     * 客户电话3
     */
    private String telephone3;

    /**
     * 服务分类id
     */
    @NotNull(message = "服务分类不能为空")
    private Integer servCategId;

    /**
     * 订单客户备注
     */
    @Size(max = 5000, message = "备注最多5000个字")
    private String remark;

    /**
     * 产品列表
     */
    private OrderFactoryDTO orderFactory;

    /**
     * 产品列表
     */
    private List<OrderProductDTO> orderProductList;

    /**
     * 返修订单ID
     */
    private Long reworkId;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 经度
     */
    @NotNull(message = "位置信息不能为空")
    private Double longitude;

    /**
     * 纬度
     */
    @NotNull(message = "位置信息不能为空")
    private Double latitude;

}
